package daoBeans;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.SynchronizationType;

import entidades.Atendente;

/**
 * Session Bean implementation class AtendenteDAO
 * @author Eli Moura
 */
@Stateless
public class AtendenteDAO implements AtendenteDAORemote {
	
	@PersistenceContext(unitName="Biblioteca", synchronization=SynchronizationType.SYNCHRONIZED)
    private EntityManager em;
	
    /**
     * Default constructor. 
     */
    public AtendenteDAO() {
        // TODO Auto-generated constructor stub
    }

	@Override
	public Atendente findAtendenteById(int id) {
		Query query = em.createNamedQuery("findAtendenteById");
        query.setParameter("id", id);
        Atendente atendente = (Atendente) query.getSingleResult();
        return atendente;
	}

	@Override
	public Atendente loginAtendente(String nome, String senha){
		Query query = em.createNamedQuery("findAtendenteByNome");
        query.setParameter("nome", nome);
        Atendente atendente = (Atendente) query.getSingleResult();
        try{
        	if(atendente.getNome().equals(nome) && atendente.getSenha().equals(senha)){
            	return atendente;
            }        	
        }catch(Exception e){
        	e.getMessage();
        }
        
		return atendente;
	}

	@Override
	public void newAtendente(Atendente atendente) {
		em.persist(atendente);
		
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Atendente> findAtendentes() {
		Query query = em.createNamedQuery("findAtendentes");
        return query.getResultList();
	}

}
